Toward Formal Construction of Assembly Arithmetic Functions from Pseudo-code∗

نویسنده

  • Reynald Affeldt
چکیده

Most cryptographic software relies on arithmetic functions, and these functions must be implemented correctly and efficiently. In practice, they are written by hand directly in assembly and undergo costly testing. Proof-assistants provide a way to avoid testing without sacrificing efficiency, but formal verification of low-level code is technically difficult. We propose a way to address the scalability issues raised by the formal verification of large arithmetic functions. We advocate formal construction from pseudo-code to split the effort into formal verification of an idealized implementation written in pseudo-code and a formal proof that this pseudo-code simulates the target assembly program. In this setting, properties of the assembly program can be derived from proofs at the simpler level of pseudo-code. As for the formal proof of the simulation, it can be made systematic, in particular when the target assembly program is built out of a library of more basic but already verified arithmetic functions. We illustrate this approach with preliminary but concrete examples.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Approach to Formal Verification of Arithmetic Functions in Assembly

It is customary to write performance-critical parts of arithmetic functions in assembly: this enables finely-tuned algorithms that use specialized processor instructions. However, such optimizations make formal verification of arithmetic functions technically challenging, mainly because of many bit-level manipulations of data. In this paper, we propose an approach for formal verification of ari...

متن کامل

A Structured Approach to Assembly Language Programming

A method is described for teaching structured programming techniques to students of assembly language programming. Structured programming, historically, has only been within the realm of high-level languages (Pascal, C, etc.), while a more loose approachone lacking a formal syntax-has traditionally been applied to low-level Manuscript received January 26, 1987; revised July 14, 1987. The author...

متن کامل

Formal Verification of Arithmetic Functions in SmartMIPS Assembly∗

In embedded systems, the recent trend is to manufacture processors with application-specific extensions. This makes it often necessary to write assembly programs to take advantage of the added hardware facilities. In such situations, formal verification is technically difficult because the programs in question manipulate data in a bitwise fashion, using non-standard specialized instructions, an...

متن کامل

Secure pseudo-random linear binary sequences generators based on arithmetic polynoms

We present a new approach to constructing of pseudo-random binary sequences (PRS) generators for the purpose of cryptographic data protection, secured from the perpetrator’s attacks, caused by generation of masses of hardware errors and faults. The new method is based on use of linear polynomial arithmetic for the realization of systems of boolean characteristic functions of PRS’ generators. “A...

متن کامل

ENTROPY OF GEODESIC FLOWS ON SUBSPACES OF HECKE SURFACE WITH ARITHMETIC CODE

There are dierent ways to code the geodesic flows on surfaces with negative curvature. Such code spaces give a useful tool to verify the dynamical properties of geodesic flows. Here we consider special subspaces of geodesic flows on Hecke surface whose arithmetic codings varies on a set with innite alphabet. Then we will compare the topological complexity of them by computing their topological ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011